package youleche.com.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import youleche.com.connection.JdbcHelper;
import youleche.com.idao.IEmailModule;
import youleche.com.model.MEmailModule;

/**
 * 数据访问类
 * @author Administrator
 *
 */
public class DEmailModule implements IEmailModule{

	/**
	 * 添加邮件模板
	 * @param con 数据库连接
	 * @param emailModule 邮件模板
	 * @return 返回添加影响的行数
	 * @throws Exception 异常
	 */
	@Override
	public int addEmailModule(Connection con, MEmailModule emailModule)
			throws Exception {
		PreparedStatement pre = null;
		try{
			String sql = "INSERT emailModule(Id,moduleName,moduleContent,addTime,A1,A2,A3,A4,A5,A6) VALUES(?,?,?,?,?,?,?,?,?,?);";
			pre = con.prepareStatement(sql);
			pre.setObject(1, emailModule.getId());
			pre.setObject(2, emailModule.getModuleName());
			pre.setObject(3, emailModule.getModuleContent());
			pre.setObject(4, emailModule.getAddTime());
			pre.setObject(5, emailModule.getA1());
			pre.setObject(6, emailModule.getA2());
			pre.setObject(7, emailModule.getA3());
			pre.setObject(8, emailModule.getA4());
			pre.setObject(9, emailModule.getA5());
			pre.setObject(10, emailModule.getA6());

			return pre.executeUpdate();
		}finally{
			JdbcHelper.free(null, pre);
		}
	}

	/**
	 * 得到邮件模板通过模板名（模板名唯一）
	 * @param con 数据库连接
	 * @param moduleName 模板名
	 * @return 返回模板信息
	 * @throws Exception 异常
	 */
	@Override
	public MEmailModule getEmailModuleByModuleName(Connection con,
			String moduleName) throws Exception {
		PreparedStatement ps = null;
		ResultSet rs = null;
		try{
			String sql = "SELECT Id,moduleName,moduleContent,addTime,A1,A2,A3,A4,A5,A6 FROM emailModule where moduleName='"+moduleName+"'";
			ps = con.prepareStatement(sql);
			MEmailModule module = null;
			rs = ps.executeQuery();
			if(rs != null){
				module = new MEmailModule();
				while(rs.next()){
					module.setId(rs.getString(1));
					module.setModuleName(rs.getString(2));
					module.setModuleContent(rs.getString(3));
					return module;
				}
			}
			
			return null;
		}finally{
			JdbcHelper.free(rs, ps);
		}
	}

	/**
	 * 更新模板信息
	 * @param con 数据库连接
	 * @param emailModule 模板信息
	 * @return 返回更新的行数
	 * @throws Exception 异常
	 */
	@Override
	public int updateEmailModuleByModuleName(Connection con,
			MEmailModule emailModule) throws Exception {
		PreparedStatement ps = null;
		try{
			String sql = "update emailmodule set moduleContent='"+emailModule.getModuleContent()+"' where moduleName='"+emailModule.getModuleName()+"' limit 1;";
			ps = con.prepareStatement(sql);
			return ps.executeUpdate();
		}finally{
			JdbcHelper.free(null, ps);
		}
	}

}
